/*
 * 创建日期 2006-11-8
 *
 * TODO 要更改此生成的文件的模板，请转至
 * 窗口 － 首选项 － Java － 代码样式 － 代码模板
 */
package com.vanda.report.view;

import org.apache.poi.hssf.usermodel.HSSFCell;

import com.vanda.report.ExcelUtils;
import com.vanda.report.ReportException;
import com.vanda.report.ReportInnerData;
import com.vanda.report.Validation;
import com.vanda.report.element.Element;

/**
 * @author wangying
 *
 * TODO 要更改此生成的类型注释的模板，请转至
 * 窗口 － 首选项 － Java － 代码样式 － 代码模板
 */
public class FormatCellElement extends Element{
	private String format_cell = null;
	private String cell_id = null;
	private String message = null;
	

	public void validator() throws ReportException {
		Validation.checkRequired("FormatCell","format_cell",format_cell);
		Validation.checkRequired("FormatCell","cell_id",cell_id);
	}
	
	/**
	 * 标签执行方法，递归执行
	 * 计算汇率
	 * @param obj
	 */
	public void execute(Object obj) throws ReportException {
		ReportInnerData reportData = (ReportInnerData) obj;

		
		HSSFCell targetCell = ExcelUtils.getCell(reportData.getReportSheet(),cell_id);
		HSSFCell sourceCell = ExcelUtils.getCell(reportData.getFormatSheet(),format_cell);
		
		//拷贝Cell的格式
		targetCell.setEncoding(sourceCell.getEncoding());
		targetCell.setCellStyle(sourceCell.getCellStyle());
		targetCell.setCellType(sourceCell.getCellType());
		if(message != null){
			ExcelUtils.setCellValue(targetCell,message,null);
		}
	}

	/**
	 * @return 返回 cell_id。
	 */
	public String getCell_id() {
		return cell_id;
	}
	/**
	 * @param cell_id 要设置的 cell_id。
	 */
	public void setCell_id(String cell_id) {
		this.cell_id = cell_id;
	}

	/**
	 * @return 返回 format_cell。
	 */
	public String getFormat_cell() {
		return format_cell;
	}
	/**
	 * @param format_cell 要设置的 format_cell。
	 */
	public void setFormat_cell(String format_cell) {
		this.format_cell = format_cell;
	}
	
	/**
	 * @return 返回 message。
	 */
	public String getMessage() {
		return message;
	}
	/**
	 * @param message 要设置的 message。
	 */
	public void setMessage(String message) {
		this.message = message;
	}
}
